{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Topic Modeling: Latent Semantic Analysis/Indexing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Latent Semantic Analysis set out to improve the results of queries that omitted relevant documents containing synonyms of query terms. Its aimed to model the relationships between documents and terms to be able to predict that a term should be associated with a document, even though, because of variability in word use, no such association was observed.\n",
    "\n",
    "LSI uses linear algebra to find a given number k of latent topics by decomposing the DTM. More specifically, it uses the Singular Value Decomposition (SVD) to find the best lower-rank DTM approximation using k singular values & vectors. In other words, LSI is an application of the unsupervised learning techniques of dimensionality reduction we encountered in chapter 12 (with some additional detail). The authors experimented with hierarchical clustering but found it too restrictive to explicitly model the document-topic and topic-term relationships or capture associations of documents or terms with several topics."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Imports & Settings"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T14:55:53.193562Z",
     "start_time": "2018-11-30T14:55:53.190300Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "from collections import OrderedDict\n",
    "from pathlib import Path\n",
    "from random import randint\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# Visualization\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FuncFormatter\n",
    "import seaborn as sns\n",
    "\n",
    "# sklearn for feature extraction & modeling\n",
    "from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer, TfidfTransformer\n",
    "from sklearn.decomposition import TruncatedSVD, PCA\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.externals import joblib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T14:51:24.506369Z",
     "start_time": "2018-11-30T14:51:24.500884Z"
    }
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "plt.style.use('ggplot')\n",
    "plt.rcParams['figure.figsize'] = (14.0, 8.7)\n",
    "warnings.filterwarnings('ignore')\n",
    "pd.options.display.float_format = '{:,.2f}'.format"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "source": [
    "## Load BBC data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We will illustrate the application of LSI using the BBC articles data that we introduced in the last chapter because they are both small to permit quick training and allow us to compare topic assignments to category labels."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# change to your data path if necessary\n",
    "DATA_DIR = Path('../data')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:00:39.606772Z",
     "start_time": "2018-11-30T16:00:39.503364Z"
    },
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "outputs": [],
   "source": [
    "path = DATA_DIR / 'bbc'\n",
    "files = path.glob('**/*.txt')\n",
    "doc_list = []\n",
    "for i, file in enumerate(files):\n",
    "    with open(str(file), encoding='latin1') as f:\n",
    "        topic = file.parts[-2]\n",
    "        lines = f.readlines()\n",
    "        heading = lines[0].strip()\n",
    "        body = ' '.join([l.strip() for l in lines[1:]])\n",
    "        doc_list.append([topic.capitalize(), heading, body])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "source": [
    "### Convert to DataFrame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:00:40.594916Z",
     "start_time": "2018-11-30T16:00:40.589999Z"
    },
    "slideshow": {
     "slide_type": "skip"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 2225 entries, 0 to 2224\n",
      "Data columns (total 3 columns):\n",
      "Category    2225 non-null object\n",
      "Heading     2225 non-null object\n",
      "Article     2225 non-null object\n",
      "dtypes: object(3)\n",
      "memory usage: 52.2+ KB\n"
     ]
    }
   ],
   "source": [
    "docs = pd.DataFrame(doc_list, columns=['Category', 'Heading', 'Article'])\n",
    "docs.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Create Train & Test Sets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We begin by loading the documents and creating a train and (stratified) test set with 50 articles. Then, we vectorize the data using the TfidfVectorizer to obtain weighted DTM counts and filter out words that appear in less than 1% or more than 25% of the documents as well as generic stopwords to obtain a vocabulary of around 2,900 words:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:00:43.803260Z",
     "start_time": "2018-11-30T16:00:43.783594Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [],
   "source": [
    "train_docs, test_docs = train_test_split(docs, \n",
    "                                         stratify=docs.Category, \n",
    "                                         test_size=50, \n",
    "                                         random_state=42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:00:44.842821Z",
     "start_time": "2018-11-30T16:00:44.840198Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((2175, 3), (50, 3))"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_docs.shape, test_docs.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:00:57.164592Z",
     "start_time": "2018-11-30T16:00:57.143678Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Sport            12\n",
       "Business         11\n",
       "Politics          9\n",
       "Tech              9\n",
       "Entertainment     9\n",
       "Name: Category, dtype: int64"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.Series(test_docs.Category).value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Vectorize train & test sets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:01:07.391966Z",
     "start_time": "2018-11-30T16:01:07.019189Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<2175x2909 sparse matrix of type '<class 'numpy.float64'>'\n",
       "\twith 209745 stored elements in Compressed Sparse Row format>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vectorizer = TfidfVectorizer(max_df=.25, min_df=.01, stop_words='english', binary=False)\n",
    "train_dtm = vectorizer.fit_transform(train_docs.Article)\n",
    "train_dtm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:01:16.436437Z",
     "start_time": "2018-11-30T16:01:16.417598Z"
    },
    "scrolled": true,
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<50x2909 sparse matrix of type '<class 'numpy.float64'>'\n",
       "\twith 4876 stored elements in Compressed Sparse Row format>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_dtm = vectorizer.transform(test_docs.Article)\n",
    "test_dtm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Get token count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:01:19.414484Z",
     "start_time": "2018-11-30T16:01:19.406175Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "film         41.33\n",
       "government   38.70\n",
       "game         36.18\n",
       "uk           35.99\n",
       "best         35.93\n",
       "labour       32.90\n",
       "music        30.94\n",
       "000          30.26\n",
       "company      29.81\n",
       "number       28.59\n",
       "dtype: float64"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_token_count = train_dtm.sum(0).A.squeeze()\n",
    "tokens = vectorizer.get_feature_names()\n",
    "word_count = pd.Series(train_token_count, index=tokens).sort_values(ascending=False)\n",
    "word_count.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "## Latent Semantic Analysis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We use sklearn’s TruncatedSVD class that only computes the k largest singular values to reduce the dimensionality of the document-term matrix. The deterministic arpack algorithm delivers an exact solution but the default ‘randomized’ implementation is more efficient for large matrices. \n",
    "\n",
    "We compute five topics to match the five categories, which explain only 5.4% of the total DTM variance so higher values would be reasonable."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:44:59.589953Z",
     "start_time": "2018-11-30T16:44:59.587034Z"
    }
   },
   "outputs": [],
   "source": [
    "n_components = 5\n",
    "topic_labels = ['Topic {}'.format(i) for i in range(1, n_components+1)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:01:37.652395Z",
     "start_time": "2018-11-30T16:01:37.584057Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "TruncatedSVD(algorithm='randomized', n_components=5, n_iter=5,\n",
       "       random_state=42, tol=0.0)"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svd = TruncatedSVD(n_components=n_components, \n",
    "                   n_iter=5, \n",
    "                   random_state=42)\n",
    "svd.fit(train_dtm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:01:39.440160Z",
     "start_time": "2018-11-30T16:01:39.435094Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([8.92087786, 5.7345608 , 5.40534764, 5.05164377, 4.73209665])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svd.singular_values_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:01:51.317284Z",
     "start_time": "2018-11-30T16:01:51.314575Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0541882619889292"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svd.explained_variance_ratio_.sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "### Explore Topics "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "LSI identifies a new orthogonal basis for the document-term matrix that reduces the rank to the number of desired topics. \n",
    "\n",
    "The `.transform()` method of the trained svd object projects the documents into the new topic space that is the result of reducing the dimensionality of the document vectors and corresponds to the UTΣT transformation explained in the book."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:50:28.154407Z",
     "start_time": "2018-11-30T16:50:28.150228Z"
    }
   },
   "outputs": [],
   "source": [
    "train_doc_topics = svd.transform(train_dtm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:50:28.470694Z",
     "start_time": "2018-11-30T16:50:28.463811Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2175, 5)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_doc_topics.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Topic Weights for sample article"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can sample an article to view its location in the topic space. We draw a ‘Politics’ article that is most (positively) associated with topics 1 and 2 (and 3):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:50:29.282281Z",
     "start_time": "2018-11-30T16:50:29.263407Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Category                             Politics\n",
       "Heading     UK heading wrong way, says Howard\n",
       "Topic 1                                  0.28\n",
       "Topic 2                                  0.25\n",
       "Topic 3                                  0.19\n",
       "Topic 4                                  0.04\n",
       "Topic 5                                  0.04\n",
       "dtype: object"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "i = randint(0, len(train_docs))\n",
    "(train_docs.iloc[i, :2].append(pd.Series(train_doc_topics[i], \n",
    "                                         index=topic_labels)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Average topic weight per category"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 170,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:07:00.673377Z",
     "start_time": "2018-11-30T16:07:00.389545Z"
    },
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0QAAAJKCAYAAAAMZIXqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzs3X94VOWd///XZIaQwATIZEJSNkQkUIMCBRIIpK6QMFdxm66m4BYVi4WCAla+YKtAVdqi/LCCsYisRZHLLm4XSwkqyLKmCFSiJIJBgVqIBFmUGpIJYCAgycz3Dz+dbgw/Qs5khsz9fFwXlzlnzj3nPTO3SV6573Mfm9/v9wsAAAAADBQV7gIAAAAAIFwIRAAAAACMRSACAAAAYCwCEQAAAABjEYgAAAAAGItABAAAAMBYBCIAAAAAxiIQAQAAADAWgQgAAACAsQhEAAAAAIzlCHcBLfXZZ5+Fu4Q2x+12q6qqKtxlwBD0N4QS/Q2hRp9DKNHfWqZbt27NOo4RIgAAAADGIhABAAAAMBaBCAAAAICx2uw1RAAAAIAp/H6/zp49K5/PJ5vNFu5yrhp+v19RUVGKiYlp8ftCIAIAAACucmfPnlW7du3kcPDr+9fV19fr7Nmzio2NbVF7pswBAAAAVzmfz0cYugiHwyGfz9fi9gQiAAAA4CrHNLlLs/L+EIgAAAAAGItxNwAAAKCNaZh8S1Cfz/78a5d83Ov1auzYsZKk48ePy263y+VySZI2btyo6OjoZp9r5syZuu+++9SrV6/LHltVVaUpU6aorKxMd955p+bNm9fs8zQXgQgAAADAJblcLr355puSpCVLlqhjx46aMmVKi56roKCg2cfGxsZq1qxZ2rt3ryoqKlp0vsthyhwAAACAFlu+fLlyc3OVm5urF198UZJUUVGhnJwcTZ06VcOHD9e9996ruro6SVJ+fr727t0rSSoqKtKoUaPk8Xh0xx13NHnujh07avDgwWrfvn2r1c8IEQAAAIAW2b17t9atW6eNGzeqoaFBeXl5GjZsmGJiYnTgwAEtXrxYGRkZmj59ulavXq3JkycH2lZWVmrOnDkqLCxUSkqKampqwvIaGCECAAAA0CIlJSXKy8tTbGysnE6nbr75Zu3cuVOSlJqaqoyMDEnSmDFjVFJS0qjtrl27lJ2drZSUFElSfHx8aIv/fwhEAAAAAILu60thX61LhxOIAAAAALRIVlaWNm3apLq6Op0+fVqbN29WVlaWJOnIkSMqKyuTJBUWFmrIkCGN2mZmZqq4uFhHjx6VpLBNmeMaIgAAAKCNudwy2aEycOBA5efnKy8vT5I0fvx49enTRxUVFerdu7dWrFihffv2KT09XePGjWvUNjExUQsXLtSECRPk9/uVnJys1atXNzlHRkaGzp49q/Pnz2vjxo1as2ZNs5bsbi6b3+/3B+3ZQuizzz4LdwltjtvtVlVVVbjLgCHobwgl+htCjT6HUHK73Tpy5Ig6dOgQ7lKaraKiQvfcc09gqe7WdubMmSbvT7du3ZrVlilzAAAAAIxFIAIAAAAQVNdee23IRoes4hoiAECzNEy+xVL7q2W+OwAA/xcjRAAAAACMRSACAAAAYCwCEQAAAABjcQ0RAAAA0Mbc+vJHQX2+V8elX/Jxr9ersWPHSpKOHz8uu90ul8slSdq4caOio6Obfa6ZM2fqvvvua9a9hN566y0tWrRI9fX1ateunebOnavs7Oxmn6s5CEQAAAAALsnlcgVWjVuyZIk6duyoKVOmtOi5CgoKmn2s2+3W7373OyUlJWnfvn26++679d5777XovBfDlDkAAAAALbZ8+XLl5uYqNzdXL774oqSvbsyak5OjqVOnavjw4br33ntVV1cnScrPz9fevXslSUVFRRo1apQ8Ho/uuOOOJs/dr18/JSUlSZL69OmjM2fO6Pz580GtnxEiAAAAAC2ye/durVu3Ths3blRDQ4Py8vI0bNgwxcTE6MCBA1q8eLEyMjI0ffp0rV69WpMnTw60rays1Jw5c1RYWKiUlBTV1NRc8lyvv/66Bg4cqHbt2gX1NTBCBAAAAKBFSkpKlJeXp9jYWDmdTt18883auXOnJCk1NVUZGRmSpDFjxqikpKRR2127dik7O1spKSmSpPj4+Iue5y9/+Yt+/etfa+HChUF/DQQiAAAAAEFns9kuud1cn376qSZNmqSlS5cqNTU1GKU1QiACAAAA0CJZWVnatGmT6urqdPr0aW3evFlZWVmSpCNHjqisrEySVFhYqCFDhjRqm5mZqeLiYh09elSSLjhl7sSJExo/frzmzp0bGG0KNq4hAgAAANqYyy2THSoDBw5Ufn6+8vLyJEnjx49Xnz59VFFRod69e2vFihXat2+f0tPTNW7cuEZtExMTtXDhQk2YMEF+v1/JyclavXp1o2NWrlypI0eOaPHixVq8eLEkac2aNYElv4PB5vf7/VafpKysTKtWrZLP59PIkSOVn5/f6PENGzboT3/6k+x2uzp16qSpU6cqMTFRkrR161atW7dOkjR69GiNGDGiWef87LPPrJZtHLfbraqqqnCXAUPQ3yJPw+RbLLW3P/9akCppiv6GUKPPIZTcbreOHDmiDh06hLuUZquoqNA999wTWKq7tZ05c6bJ+9OtW7dmtbU8Zc7n82nlypX6+c9/roKCAu3YsSMw7PV3PXr00KJFi7R48WINHTo0kPxqa2u1du1aLViwQAsWLNDatWtVW1trtSQAAAAAaBbLgai8vFzJyclKSkqSw+FQdna2SktLGx3Tt29ftW/fXpLUu3dveb1eSV+NLPXv319Op1NOp1P9+/cPzDMEAAAA0DZde+21IRsdssryNURer1cJCQmB7YSEBB08ePCix2/ZskUDBgy4YFuXyxUIS19XVFSkoqIiSdKiRYvkdrutlm4ch8PB+4aQob9Fns8ttm/N/kB/Q6jR5xBKDodD7du3l8PB5f8X0759+xb/PxnSd3X79u06dOiQfvnLX15xW4/HI4/HE9hm3u6VY74zQon+hq9rzf5Af0Oo0ecQSm63W+fOnZPdbg93KVetc+fONfl/MmTXELlcLlVXVwe2q6urL7jqwwcffKDCwkI99NBDgbvLfr2t1+sN6ooRAAAAAHAplgNRWlqajh07psrKStXX16u4uFiZmZmNjqmoqNDzzz+vhx56SJ07dw7sHzBggPbs2aPa2lrV1tZqz549gel0AAAAANDaLE+Zs9vtmjhxoubPny+fz6ecnBx1795da9asUVpamjIzM7V69WqdPXtWTz31lKSvhv1mzZolp9OpMWPGaM6cOZKk2267TU6n02pJAAAAQER7fc2JoD7fv47tcsnHvV6vxo4dK0k6fvy47HZ7YGbXxo0bFR0d3exzzZw5U/fdd5969ep12WPfe+89zZ49WzabTX6/Xw8++KBGjRrV7HM1R1DuQxQO3IfoyjHfGaFEf4s83IcI+Af6HELpQvchCnUg+r+WLFmijh07asqUKUGt4ULq6urUrl07ORwO/e1vf9OoUaP0/vvvKyqq8US3sN6HCAAAAIC5li9frtzcXOXm5urFF1+U9NUl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E088oWHDhql9+/aB/VlZWWGsCpGGwBMerDIX4V544QW1b99ehw8f1oYNG5SUlKRly5aFuyxEqJKSEj399NOaM2eOZs+erdmzZ2vWrFnhLgsR6oUXXlBMTExgOyYmRi+88EIYK0IkO3/+vOLi4rR3717t2rUr8A9oDfPnz9fp06cD27W1tVq4cGEYK4psjBBFOLvdLpvNpvfee08333yzcnNz9dZbb4W7LESopKQkNTQ0qF27duEuBQbw+/2NromMiopqNFUTCKZp06aFuwQY5MSJE+rYsWNg2+l0qqamJowVRTYCUYSLiYlRYWGhtm/frnnz5snn86m+vj7cZSFCRUdH68EHH1S/fv0aXQQ6ceLEMFaFSJWUlKQ33nhD3/nOdyRJ//M//6OuXbuGuSpEqurqar344ov661//KklKT0/XhAkTlJCQEObKEImioqJUXV0d6F9VVVVhriiysahChDtx4oTefvttpaWlqU+fPqqqqtK+ffs0fPjwcJeGCLR169YL7h8xYkRI64AZTp48qVWrVmnv3r2y2Wzq27evfvSjH6lz587hLg0R6LHHHtONN96om266SZL05z//WX/+85/16KOPhrkyRKLdu3frhRdeUN++feX3+7V//35NmjRJAwcODHdpEYlAZIDjx4/r2LFj6t+/v86dOyefzxe4CBkIti+//FJVVVXq1q1buEsBgKB58MEH9eSTT152HxAsJ06c0IEDByRJ1113HX/saUVMmYtwRUVF+tOf/qTa2lo988wz8nq9ev755zV37txwl4YI9N577+k//uM/VF9fr2effVaHDx/WmjVrWFgBQfXqq6/q1ltv1YsvvnjBx5miidYQFxen7du368Ybb5Qkvf3224qLiwtzVYhk+/bt0+eff67Ro0erqqpKhw4dUs+ePcNdVkRilbkIt3nzZj322GOBEaFvfOMbOnnyZJirQqT6wx/+oIULFwYuBO3Ro4cqKyvDXBUizT/90z9J+urG0xf6B7SGqVOn6p133tHkyZM1efJkvfvuuyy0gFazcuVK7du3T3/+858lfXVN+PPPPx/mqiIXI0QRrl27do0ubm9oaGi0KhMQTA6Ho8l9YOhvCLbMzExJX913aNiwYY0ee+edd8JREgyQmJjIaDdC5sCBA3riiSf00EMPSfpqlTkWxWo9BKIId/3112vdunX68ssv9cEH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\n",
      "text/plain": [
       "<Figure size 1008x626.4 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "train_result = pd.DataFrame(data=doc_topics,\n",
    "                   columns=topic_labels,\n",
    "                   index=train_docs.Category)\n",
    "train_result.groupby(level='Category').mean().plot.bar();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Topics weights of most frequent words"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T15:38:02.210725Z",
     "start_time": "2018-11-30T15:38:02.183925Z"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Topic 1</th>\n",
       "      <th>Topic 2</th>\n",
       "      <th>Topic 3</th>\n",
       "      <th>Topic 4</th>\n",
       "      <th>Topic 5</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>film</th>\n",
       "      <td>0.10</td>\n",
       "      <td>-0.15</td>\n",
       "      <td>-0.02</td>\n",
       "      <td>0.46</td>\n",
       "      <td>-0.11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>government</th>\n",
       "      <td>0.11</td>\n",
       "      <td>0.16</td>\n",
       "      <td>0.04</td>\n",
       "      <td>-0.00</td>\n",
       "      <td>-0.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>game</th>\n",
       "      <td>0.09</td>\n",
       "      <td>-0.16</td>\n",
       "      <td>0.08</td>\n",
       "      <td>-0.11</td>\n",
       "      <td>0.06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>uk</th>\n",
       "      <td>0.09</td>\n",
       "      <td>0.03</td>\n",
       "      <td>-0.06</td>\n",
       "      <td>0.04</td>\n",
       "      <td>0.02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>best</th>\n",
       "      <td>0.09</td>\n",
       "      <td>-0.14</td>\n",
       "      <td>0.03</td>\n",
       "      <td>0.27</td>\n",
       "      <td>-0.09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>labour</th>\n",
       "      <td>0.10</td>\n",
       "      <td>0.25</td>\n",
       "      <td>0.21</td>\n",
       "      <td>0.07</td>\n",
       "      <td>0.06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>music</th>\n",
       "      <td>0.08</td>\n",
       "      <td>-0.06</td>\n",
       "      <td>-0.11</td>\n",
       "      <td>0.08</td>\n",
       "      <td>0.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000</th>\n",
       "      <td>0.07</td>\n",
       "      <td>0.03</td>\n",
       "      <td>-0.05</td>\n",
       "      <td>0.00</td>\n",
       "      <td>-0.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>company</th>\n",
       "      <td>0.07</td>\n",
       "      <td>0.02</td>\n",
       "      <td>-0.10</td>\n",
       "      <td>-0.03</td>\n",
       "      <td>-0.06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>number</th>\n",
       "      <td>0.07</td>\n",
       "      <td>-0.04</td>\n",
       "      <td>-0.02</td>\n",
       "      <td>0.03</td>\n",
       "      <td>0.01</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            Topic 1  Topic 2  Topic 3  Topic 4  Topic 5\n",
       "film           0.10    -0.15    -0.02     0.46    -0.11\n",
       "government     0.11     0.16     0.04    -0.00    -0.03\n",
       "game           0.09    -0.16     0.08    -0.11     0.06\n",
       "uk             0.09     0.03    -0.06     0.04     0.02\n",
       "best           0.09    -0.14     0.03     0.27    -0.09\n",
       "labour         0.10     0.25     0.21     0.07     0.06\n",
       "music          0.08    -0.06    -0.11     0.08     0.14\n",
       "000            0.07     0.03    -0.05     0.00    -0.01\n",
       "company        0.07     0.02    -0.10    -0.03    -0.06\n",
       "number         0.07    -0.04    -0.02     0.03     0.01"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "topics = pd.DataFrame(svd.components_.T,\n",
    "                      index=tokens,\n",
    "                      columns=topic_labels)\n",
    "topics.loc[word_count.head(10).index]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Most important words by topic"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also display the words that are most closely associated with each topic (in absolute terms). The topics appear to capture some semantic information but are not clearly differentiated"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 225,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:36:12.992171Z",
     "start_time": "2018-11-30T16:36:12.109513Z"
    },
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(12,5))\n",
    "top_words, top_vals = pd.DataFrame(), pd.DataFrame()\n",
    "for topic, words_ in topics.items():\n",
    "    top10 = words_.abs().nlargest(10).index\n",
    "    vals = words_.loc[top10].values\n",
    "    top_vals[topic] = vals\n",
    "    top_words[topic] = top10.tolist()\n",
    "sns.heatmap(pd.DataFrame(top_vals), \n",
    "            annot=top_words, \n",
    "            fmt = '', \n",
    "            center=0, \n",
    "            cmap=sns.diverging_palette(0, 255, sep=1, n=256), \n",
    "            ax=ax);\n",
    "ax.set_title('Top Words per Topic')\n",
    "fig.tight_layout()\n",
    "fig.savefig('lsa_top_words', dpi=300);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Topics weights for test set"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The topic assignments for this sample align with the average topic weights for each category illustrated below (Politics is the leftmost). They illustrate how LSI expresses the k topics as directions in a k-dimensional space (below you find a projection of the average topic assignments per category into two-dimensional space). \n",
    "\n",
    "Each category is clearly defined, and the test assignments match with train assignments. However, the weights are both positive and negative, making it more difficult to interpret the topics."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:05:53.696908Z",
     "start_time": "2018-11-30T16:05:53.685949Z"
    }
   },
   "outputs": [],
   "source": [
    "test_eval = pd.DataFrame(data=svd.transform(test_dtm), \n",
    "                         columns=topic_labels,\n",
    "                         index=test_docs.Category)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 198,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:17:55.905170Z",
     "start_time": "2018-11-30T16:17:51.837069Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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m+nUqXWu6jVy5MiMHDmyyXMnnHBC49dDhw7Ntdde2yrvDQAAAAAUT7ObyGHDhmXlypWtGAUAAAAA4L+978zLP91pPEn69u2bmTNn5tBDD02vXr2a7PfnMyQBAAAAAFrC+5aXf34H8CQ5+OCD8+677271PAAAAABAS3vf8vKMM87YWTkAAAAAAJpo9g17Xn311W0+v8suu6RXr16tdiMfAAAAAKBjanZ5eeaZZ77na506dcrBBx+cL3zhC1tdDxMAAAAA4MNodnl52mmn5amnnspxxx2XysrK1NbW5s4778w+++yT/fffP7feemtuvPHGfPWrX23NvAAAAABAB9Hstd533HFHTjvttFRVVaVLly6pqqrKF77whdx5550ZMGBAzjjjjDz99NOtmRUAAAAA6ECaXV42NDTkD3/4Q5PnamtrU19fnyTp1q1b3n333ZZNBwAAAAB0WM1eNv7JT34yl156aY444oj06dMna9euzYMPPphPfvKTSZLHHnss++yzT6sFBQAAAAA6lmaXl0cffXT22muvLFq0KM8//3x69eqVqVOnZsSIEUmSQw89NIceemirBQUAAAAAOpZml5dJMmLEiMayEgAAAACgNb1veflv//ZvOeaYY5Ikc+bMec/9TjjhhJZNBQAAAAB0eO9bXq5Zs2abXwMAAAAAtLb3LS+/+MUvNn59xhlntHoYAAAAAIA/2a5rXr7yyitZtGhR1q9fn3/8x3/MqlWr8vbbb2evvfZqrXwAAAAAQAfVqbk7Llq0KBdddFHWrl2b+fPnJ0k2bdqUH/3oR60WDgAAAADouJo98/KOO+7IhRdemMGDB2fRokVJkr322isrV65srWwAAO3WrFmzUltbm8rKykyfPr3UcQAAoJCaXV6uX79+q+XhZWVlKSsra/FQAADtXW1tbWpqakodAwAACq3Zy8b/+q//unG5+J/85je/ydChQ1s8FAAAAABAs2dennzyyfnnf/7n/OpXv8rmzZszc+bMrFq1KhdccEFr5gMAKJR/uGlRi4zz7oZNSZKaDZtaZMx//fzoHR4DAACK5gPLy4cffjj7779/BgwYkO9+97t59NFHc/DBB6dPnz45+OCD061bt52REwAAAADoYD6wvJwzZ05qampSVVWVYcOGZf/998/o0aPTt2/fnZEPAAAAAOigPrC8/N73vpd169Zl2bJlWbZs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e/dukfGy7Ns7PgYAADuFa14CAAAAAIWkvAQAAAAACsmycQAACq2ysrLJIwAAHYfyEgCAQps+fXqpIwAAUCKWjQMAAAAAhaS8BAAAAAAKSXkJAAAAABSS8hIAAAAAKCTlJQAAAABQSMpLAAAAAKCQlJcAAAAAQCEpLwEAAACAQlJeAgAAAACFpLwEAAAAAApJeQkAAAAAFFKXUgeguN597GfJWxuTbj3SeeRRpY4DAAAAQAejvOS9vbUxeXN9qVMAAAAA0EEpLwEAAGgxy5cvz+bNm9O1a9fsu+++pY4DQBunvAQAAKDFbN68OZs3by51DADaCTfsAQAAAAAKyczLduhfPz+6RcY558l/S82b61O1x265ooXGBAAAiunMM89skXHOOeec1NTUpHfv3i02JgAdl5mXAAAAAEAhKS8BAAAAgEIq+bLxurq6fOc738kf/vCH9O3bN//0T/+U8vLyrfabOXNmnnnmmey3334599xzS5AUAKD9e2D+9al74/WUd++dCR/7YqnjAADQwZV85uXdd9+d6urqXHXVVamurs7dd9+9zf2OOuqofPnLX97J6Tq2ysrKVFVVpbKystRRAICdpO6N17OxrjZ1b7xe6ihAG+X/EQC0pJLPvFy8eHFmzJiRJPkf/+N/ZMaMGZkyZcpW+1VXV+epp57ayek6tunTp5c6AgAA0Mb4fwQALankMy/Xr1+f3r17J0l69eqV9evXlzgRAAAAAFAEO2Xm5Te/+c2sW7duq+dPPPHEJttlZWUpKyvbofeaN29e5s2blyS57LLLLFUA+NBWlzrANvlzHbbtpFNa5tx48OGu2ViX7NGza046pbpFxiyataUO8B78+dZx+LUGgObbKeXlhRde+J6v9ezZM6+//np69+6d119/PXvssccOvdfEiRMzceLExu3a2todGg+AYvHnOrSud999t/GxvZ5vJV969B7a6883W/NrDdD+9O/fv9QR2q2S/9tt1KhReeihh5IkDz30UA455JASJwIAAAAAiqDk5eWkSZPyxBNP5Mwzz8zSpUszadKkJMmzzz6ba6+9tnG/iy66KFdeeWWWLl2a008/PUuWLClVZACAdstdggEAKJKyhoaGhlKHaE2rVq0qdQSANumXPyvmNS//7qg9Sx0BaOM6Lft2qSNsU/2wr5Y6Qrv0DzctKnWErfzr50eXOgIALcyy8dazU655CQAA7c23fvxsatdvSWXPXXPe5CGljgMA0C4pLwEA4EOoXb8lNWs3lzoGAEC7VvJrXgIAAAAAbIvyEgAAAAAoJOUlAAAAAFBIrnkJAECH0mJ39d71nCQ1ya693SkcAKCVKC8BaFUPzL8+dW+8nvLuvTPhY18sdRwAAADaEOUlAK2q7o3Xs7GuttQxAAAAaINc8xIAAAAAKCTlJQAAAABQSJaNAwDAh1BZWdnkEQCAlqe8BGCb/u6oPVtknHkLumRjXdK9vEuLjQlQBNOnTy91BACAds+ycQAAAACgkMy8BAAA+ADvPvaz5K1SKwMAAAAgAElEQVSNSbce6TzyqFLHAYAOQ3kJAADwQd7amLy5vtQpAKDDUV4C0Krc0AIAAIAPS3kJQKtyQwsAAAA+LOUlAADQbv3r50e3yDjnPPlvqXlzfar22C1XtNCYAMAHc7dxAAAAAKCQlJcAAAAAQCFZNg4AAPAB3IAOAEqjrKGhoaHUIVrTqlWrSh0BAAAAgHasf//+pY7Qblk2DgAAAAAUkvISAAAAACgk5SUAAAAAUEjKSwAAAACgkJSXAAAAAEAhKS8BAAAAgEJSXgIAAAAAhaS8BAAAAAAKSXkJAAAAADTxD//wD7n88stLHSNlDQ0NDaUO0ZpWrVpV6ggAAAAAtGP9+/cvyfuWl5c3fv3mm2+ma9eu6dy5c5Lkuuuuy0knnVSSXC2pS6kDAAAAAADbr66urvHrwYMH54YbbsjEiRNLmKjlWTYOAAAAAO3Qpk2b8qUvfSl77rlnBg4cmHPOOSdvv/12kuS+++7L0KFDc/HFF6eioiJ77713fvKTnzQee+KJJ+af//mfG7d/8pOf5MADD0yPHj3yN3/zN3nggQd2ymdQXgIAAABAO3TxxRfniSeeyNKlS/Poo4/m17/+dZPrWK5cuTJbtmxJTU1Nrr/++nz+85/P888/v9U48+fPz6mnnprvfe97Wb9+fR544IEMGjRop3wG5SUAAAAAtEO33nprLrnkklRWVqZfv3654IILcvPNNze+3qVLl1x88cXZddddM3HixEycODE//elPtxrnxhtvzOmnn57x48enU6dO+au/+qvss88+O+UzKC8BAAAAoJ1paGhITU1N9tprr8bn9tprr7zyyiuN23379k23bt2avL6tm1+/9NJLGTJkSOsGfg/KSwAAAABoZ8rKylJVVZUXXnih8bkXX3wxAwYMaNyura3NW2+91eT1bd05fdCgQXn22WdbN/B7UF4CAAAAQDs0efLkXHLJJVmzZk1ee+21zJw5M1OmTGl8/e233843v/nNbNmyJb/61a/yH//xHzn22GO3GucLX/hCrrvuusyfPz/19fV56aWX8vvf/36nfAblJQAAAAC0Q5deemn233//DB8+PCNGjMjhhx+er3/9642vDx48OF26dElVVVVOOeWUzJ49O3/913+91Tjjxo3LtddemzPOOCM9e/bMhAkT8vLLL++Uz1DW0NDQsFPeqUS2tU4fAAAAAFrKtpZaF919992XL3/5y1mxYkWpo7wvMy8BAAAAgEJSXgIAAAAAhWTZOAAAAADsgLa4bLytMPMSAAAAACgk5SUAAAAAUEjKSwAAAACgkJSXAAAAAEAhKS8BAAAAoANYs2ZNRowYkREjRqSqqioDBgxo3N6yZct2jXXyySdn+fLlzdr3tddeyxFHHJHu3btn2rRp2/U+7f5u4wAAAABQRI+e9MkWHe/gW/+92fvOmDEj5eXl+drXvtaiGbalrq4ujz/+eP7v//2/WbFiRb773e82+1gzL2mTzj333FJHALaDcxbaFucstB3OV2hbnLMU2eWXX54DDjggBxxwQL7//e8nSVasWJHhw4fnxBNPzLBhw3L88cdn06ZNSZKxY8dmyZIlSZK5c+dm5MiROeigg3LkkUduNXZ5eXkOP/zwdOvWbbtzKS8BAAAAoAN75JFHcuutt2bx4sVZtGhRrr766ixdujRJ8vTTT2fatGlZtmxZunXrluuuu67JsTU1NZk6dWruuuuuPP7447n99ttbNJvyEgAAAAA6sIULF+bYY4/Nbrvtlh49emTSpElZsGBBkmTvvffOYYcdliSZMmVKFi5c2OTYRYsWZfz48dlrr72SJBUVFS2aTXlJmzRx4sRSRwC2g3MW2hbnLLQdzldoW5yztEVlZWXvu93alJe0Sf7Ah7bFOQtti3MW2g7nK7QtzlmKaty4cbnrrruyadOm1NXV5Z577sm4ceOSJM8//3wWL16cJLntttsyduzYJseOGTMmDz74YF544YUkydq1a1s0W5cWHQ0AAAAAaFMOPfTQTJ48OYccckiSZOrUqamurs6KFSsybNiwXHnllVmyZEmqq6tz6qmnNjm2X79+ueaaa3L00UenoaEh/fv3zy9+8Yut3mPgwIF588038/bbb+enP/1pHnjggey7774fmK2soaGhoWU+JgAAAADQXqxYsSKf/exnG+8qXgqWjQMAAAAAhWTmJQAAAABQSGZeAgAAAACFpLwEAAAAAApJeQkAAAAAFJLyEgAAAAAoJOUlAAAAAHQAa9asyYgRIzJixIhUVVVlwIABjdtbtmzZrrFOPvnkLF++vFn73nfffRk5cmSqq6tz8MEH59e//nWz38fdxgEAAACgBI781p0tOt795x3b7H1nzJiR8vLyfO1rX2vRDNvy2GOPZc8998yee+6Zxx9/PJ/+9Kfz0ksvNetYMy8BAAAAoIO7/PLLc8ABB+SAAw7I97///STJihUrMnz48Jx44okZNmxYjj/++GzatClJMnbs2CxZsiRJMnfu3IwcOTIHHXRQjjzyyK3GHjlyZPbcc88kSXV1derq6vL22283K5fyEgCgxAYPHpzddtstPXr0SK9evTJmzJhce+21qa+vb9bxK1euTFlZWd55551WTvrfFixYkPLy8pSXl6d79+4pKytr3C4vL8+LL774ocZ96623UlZWlpdffrmFEwMA8F4eeeSR3HrrrVm8eHEWLVqUq6++OkuXLk2SPP3005k2bVqWLVuWbt265brrrmtybE1NTaZOnZq77rorjz/+eG6//fb3fa877rgjf/u3f5tddtmlWdmUlwAABfDzn/88GzduzAsvvJBzzz03s2bNyj/+4z+WOtZ7GjduXOrq6lJXV5ennnoqSbJu3brG5/7qr/6qxAkBAGiuhQsX5thjj238hvqkSZOyYMGCJMnee++dww47LEkyZcqULFy4sMmxixYtyvjx47PXXnslSSoqKt7zfZYuXZoLLrgg11xzTbOzKS8BAAqkZ8+eOeqoozJnzpzcdNNNefLJJ5P8cSnORz/60eyxxx4ZNGhQZsyY0XjMxz72sSRJr169Ul5enkWLFuXZZ5/Nxz/+8fTp0yeVlZU56aSTsm7dup36WdauXZvPfe5zqaqqyqBBg3LJJZc0zib9f//v/2Xs2LHp2bNn+vbtm8997nNNPsu+++6b8vLy3H333Ts1MwAATZWVlb3vdnO9+OKLOeaYY3LLLbdk7733bvZxyksAgAI69NBDM3DgwMbveHfv3j0/+tGPsm7dusydOzfXXHNNY7E3f/78JP8983H06NFpaGjIeeedl1WrVmXZsmV56aWXmhSef+nAAw9Mr169tvnjjDPO+FCf4aSTTkrPnj3z3HPP5Xe/+13uvvvu3HzzzUmS8847L5MmTcq6devy4osv5rTTTmvyWZYvX566urpMmjTpQ703AADNN27cuNx1113ZtGlT6urqcs8992TcuHFJkueffz6LFy9Oktx2220ZO3Zsk2PHjBmTBx98MC+88EKSP34D+y+9/vrr+dSnPpV/+Zd/aZzF2VxdPswHAgCg9fXv37/xH39HHHFE4/MHHnhgJk+enIceeug9y72hQ4dm6NChSZK+ffvm7LPPziWXXPKe7/XEE0+0XPAkL7zwQubPn5+f/exn2WWXXbL77rvnzDPPzO23357Pf/7z2WWXXbJy5crU1NRkzz33zOGHH96i7w8AQPMdeuihmTx5cg455JAkydSpU1NdXZ0VK1Zk2LBhufLKK7NkyZJUV1fn1FNPbXJsv379cs011+Too49OQ0ND+vfvn1/84hdN9vne976X559/PhdffHEuvvjiJMkDDzyQPn36fGC2soaGhoYW+pwAAHwIgwcPzg033JCJEyc2eX7QoEE5//zzM3Xq1DzyyCM599xz8+STT2bLli3ZvHlzjjvuuNx8881ZuXJl9t5777z99tvp0uWP35t+9dVXc9ZZZ2XBggXZuHFj6uvr07t377z00kstnn9b7z9//vyMHz8+PXr0aNyvvr4+Q4cOzWOPPZZXXnklF154Yf793/89H/nIR/L1r389U6ZMyVtvvZXddtstL730UgYOHNjiWQEAaL4VK1bks5/9bONdxUvBsnEAgAJavHhxXnnllcZlOX//93+fo446Ki+99FLWr1+f008/PX/6HvS2rjt0/vnnp6ysLEuXLs2GDRtyyy235P2+Zz18+PAmdwv/8x+nn376ducfNGhQysvL8/rrr2fdunVZt25dNmzYkMceeyxJMmDAgPzwhz/M6tWrc9VVV+WUU07Jiy+++KGvoQQAQPukvAQAKJANGzbk3nvvzYknnpgpU6akuro6SbJx48ZUVFSkW7du+d3vfpfbbrut8Zi+ffumU6dOee655xqf27hxY8rLy9OzZ8+88sorueKKK973fZ966qnGO4X/5Y9rr712uz/Hn+5K+fWvf71x5uczzzzTeHfKOXPmZNWqVSkrK0uvXr2SJJ07d07Xrl0br5MJAEBpDR06tKSzLhPlJQBAIXzmM59Jjx49MmjQoMycOTNnn312Zs+e3fj61VdfnYsuuig9evTIpZdemuOPP77xtd133z3f+MY3cvjhh6dXr1757W9/m4svvjiPPfZYevbsmU996lM55phjdvpn+vGPf5x169Zlv/32S0VFRU444YS8+uqrSZJFixbl4IMPTnl5eY477rj8n//zfzJgwIAkyaWXXprjjjsuvXr1ys9+9rOdnhsAgOJwzUsAAAAAoJDMvAQAAAAACkl5CQAAAAAUkvISAAAAADqANWvWZMSIERkxYkSqqqoyYMCAxu0tW7Zs11gnn3xyli9f3qx9Fy1alIMOOigjRozIQQcdlHvuuafZ7+OalwAAAABQArOvfbRFxzv59IObve+MGTNSXl6er33tay2aYVvefPPN7LrrrunSpUtWrVqVj370o1m9enU6dfrgeZVdWj1dia1atarUEQAAAABox/r371/qCDvs8ssvz49+9KMkyWmnnZavfOUrWbFiRY4++uhUV1fn8ccfT3V1dW666abstttuGTt2bH7wgx9kxIgRmTt3bi688MK8++676devX+6///4mY+++++6NX2/atClJ0tz5lJaNAwAAAEAH9sgjj+TWW2/N4sWLs2jRolx99dVZunRpkuTpp5/OtGnTsmzZsnTr1i3XXXddk2NramoyderU3HXXXXn88cdz++23b/M9Hn744QwfPjwHHXRQrr/++nTu3LlZ2ZSXAAAAANCBLVy4MMcee2x222239OjRI5MmTcqCBQuSJHvvvXcOO+ywJMmUKVOycOHCJscuWrQo48ePz1577ZUkqaio2OZ7jBkzJk899VQeeeSRzJw5s9nX2FReAgAAAADbVFZW9r7b22v48OHp2rVrnn766Wbtr7wEAAAAgA5s3Lhxueuuu7Jp06bU1dXlnnvuybhx45Ikzz//fBYvXpwkue222zJ27Ngmx44ZMyYPPvhgXnjhhSTJ2rVrtxr/+eefz7vvvtv49TPPPNM4U/ODtPsb9gAAAAAA7+3QQw/N5MmTc8ghhyRJpk6dmurq6qxYsSLDhg3LlVdemSVLlqS6ujqnnnpqk2P79euXa665JkcffXQaGhrSv3///OIXv2iyz0MPPZQrrrgiu+yySzp37pzrrrsuvXv3bla2sobm3tqnjXK3cQAAAABaU3u42/i2rFixIp/97GezZMmSkmWwbBwAAAAAKCQzLwEAAABgB7TXmZdFYOYlAAAAAFBIyksAAAAAoJCUlwAAAABAISkvAQAAAIBCUl5CC5k1a1bOOeeczJo1q9RRAAAAALayZs2ajBgxIiNGjEhVVVUGDBjQuL1ly5btGuvkk0/O8uXLt+uY559/Pt27d893v/vdZh/TZbveAXhPtbW1qampKXUMAAAAoI0499xzW3S8yy677H1f79OnT5YsWZIkmTFjRsrLy/O1r33tQ73X7Nmzt/uYs88+O//rf/2v7TrGzEsAAAAA6OAuv/zyHHDAATnggAPy/e9/P0myYsWKDB8+PCeeeGKGDRuW448/Pps2bUqSjB07trEInTt3bkaOHJmDDjooRx555DbH/+lPf5r99tsv++2333blUl4CAAAAQAf2yCOP5NZbb83ixYuzaNGiXH311Vm6dGmS5Omnn860adOybNmydOvWLdddd12TY2tqajJ16tTcddddefzxx3P77bdvNf7GjRvz7W9/OxdeeOF2Z1NeAgAAAEAHtnDhwhx77LHZbbfd0qNHj0yaNCkLFixIkuy999457LDDkiRTpkzJwoULmxy7aNGijB8/PnvttVeSpKKiYqvxL7zwwpxzzjnZfffdtzuba14CAAAAANtUVlb2vtvN8bvf/S533313zj777Kxbty6dOnVK165dM3Xq1A881sxLAAAAAOjAxo0bl7vuuiubNm1KXV1d7rnnnowbNy7JH+8Qvnjx4iTJbbfdlrFjxzY5dsyYMXnwwQfzwgsvJEnWrl271fgPP/xwVq5cmZUrV+bLX/5yLrroomYVl0mBZl4uWbIks2fPTn19fSZMmJBJkyY1ef3+++/PL3/5y3Tq1CndunXLaaedloEDB5YoLQAAAAC0D4ceemgmT56cQw45JEkyderUVFdXZ8WKFRk2bFiuvPLKLFmyJNXV1Tn11FObHNuvX79cc801Ofroo9PQ0JD+/fvnF7/4xf9v7+4DrCzr/PG/hxkGJFCBAYl8HuJBRAmIlB4UoXJdf2aupm1tJiuWWGghoX7zOVK0tEyzctV20wq37EHdVSOfQ1fU2FD8qqjkV2HEYVB5Fmbm94frWSdAUWY49zCv1z/3uc+5z3U+55y55z7nfa7rvlqttorm5ubmVmvtXWpqasrJJ5+cb37zm+ndu3dOP/30nHzyyS3CyVWrVpXGxT/00EO57bbb8n/+z/9527YXLVrUZnXDm02dOjV1dXXp169fLr744nKXAwAAAGwl/fv3L3cJbWLBggU58sgjS7OKl0Mhho0vWLAg/fr1y0477ZSqqqqMGTOm1B31DW8+oeeaNWve1fh6AAAAAKD9KMSw8YaGhvTu3bu03rt37zz11FMbbHfrrbfmlltuyfr163PWWWdttK1Zs2Zl1qxZSZILL7wwNTU1bVM0/I3KysrS0t8dAAAA0N4NGDCgrL0uk4KEl5vr4IMPzsEHH5z77rsvv/71r/OVr3xlg23Gjx+f8ePHl9br6+u3Zol0YI2NjaWlvzsAAADoOLbVYeNFUIhh47169crSpUtL60uXLk2vXr02uf3GhpUDAAAAANuWQoSXtbW1Wbx4cZYsWZL169dn9uzZGTVqVIttFi9eXLr8yCOP5L3vfe/WLhMAAAAA2IoKMWy8srIyEyZMyPTp09PU1JSxY8dml112ycyZM1NbW5tRo0bl1ltvzbx581JZWZnu3bvnpJNOKnfZAAAAAEAbKkR4mSQjRozIiBEjWlx39NFHly4fd9xxW7skAAAAANhmLF26NOPGjUuS1NXVpbKyMn369EmSPPjgg6murt7sto477ricdtppGTRo0Ntuu2DBggwbNqy07Yc//OFcccUVm/U4hQkvAQAAAKAjqfvjlFZtr9+4777l7b179y7NHn7OOeeke/fuOfXUU9/VY1177bXvaPtBgwa9q5nLC3HOSwAAAACgfC666KLsvffe2XvvvfODH/wgyes9JocOHZpjjjkmQ4YMyWc+85msXr06SfKRj3ykFEbecsstGTFiRPbdd9984hOfaNW6hJcAAAAA0IH913/9V66//vrMmTMn999/f374wx9m3rx5SZL58+fnlFNOyeOPP56uXbvmxz/+cYv71tXV5cQTT8xvfvOb/Pd//3d++ctfbvQxFixYkA984AM58MADM3v27M2uTXgJAAAAAB3Yfffdl3/4h3/Idtttlx49euTwww/PvffemyTZY489st9++yVJPv/5z+e+++5rcd/7778/Y8eOzW677ZYk6dWr1wbt77zzznnuuefy5z//ORdddFGOPvrorFixYrNqE14CAAAAABtVUVHxluubo2vXrqVQc/To0dltt92yYMGCzbqv8BIAAAAAOrCPfvSj+c1vfpPV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AOiYNju8nDx58iZv69SpU0aOHJnjjz9+g/NhAgAAAAC8G5sdXn7pS1/KY489lqOOOio1NTWpr6/Pr3/96wwcODB77bVXrr/++lx99dWZMmVKW9YLAAAAAHQQmz3W+4YbbsiXvvSl9OvXL1VVVenXr1+OP/74/PrXv8773ve+TJo0KfPnz2/LWgEAAACADmSzw8vm5ua89NJLLa6rr69PU1NTkqRr165pbGxs3eoAAAAAgA5rs4eNH3LIITnvvPNy4IEHpnfv3mloaMidd96ZQw45JEnyyCOPZODAgW1WKAAAAADQsWx2ePmpT30qu+22W+6///48++yz2XHHHXPiiSdm+PDhSZLRo0dn9OjRbVYoAAAAANCxbHZ4mSTDhw8vhZUAAAAA27rbfr+4VdpZuWJ9adkabX7ysPducRvQHrxleHnjjTfmiCOOSJLMnDlzk9sdffTRrVsVAMA2bsaMGamvr09NTU2mTZtW7nIAAKCQ3jK8XLp06UYvAwCwZerr61NXV1fuMgAAoNDeMrycOHFi6fKkSZPavBgAAACALdK1R8sl0K69o3NevvDCC7n//vvzyiuv5J//+Z+zaNGirFu3Lrvttltb1QcAAACw2SpHHFbuEmgFTrHDGzpt7ob3339/zjrrrDQ0NOSee+5JkqxevTr/9m//1mbFAQAAANDxvHGKnfr6+nKXQpltds/LG264IWeeeWZ233333H///UmS3XbbLQsXLmyr2gAAAACADmyze16+8sorGwwPr6ioSEVFRasXBQAAAACw2T0v99xzz9xzzz054IADStf96U9/yoABA9qkMACAIvriv97fKu00vro6SVL36upWafOnx+6/xW0AAEDRbHZ4edxxx+Vb3/pW7rjjjqxduzbTp0/PokWL8s1vfrMt6wMAAAAAOqi3DS9nz56dvfbaK+973/vyve99Lw8//HBGjhyZ3r17Z+TIkenatevWqBMAAAAA6GDeNrycOXNm6urq0q9fvwwZMiR77bVX9t9///Tp02dr1AcAAAAAdFBvG15+//vfz8svv5zHH388jz/+eG666ab88Ic/TK9evUph5rhx47ZGrQAAAABAB7JZ57zccccds//++2f//V8/EfyKFSvyxz/+MTfffHPuu+8+4SUAAAAA0Oo2K7xsbm7OwoUL8/jjj2f+/Pl58skn07Nnz+y///4ZMmRI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7Wa33dp+85vfCC/psHr06FH6f3DDDTeka9euOeyww8pcFXQ8bz42z507Nz//+c9z7rnnvuN2PvGJT7R2acC79OSTT+bhhx/OjBkz0rlz57z66qtZv379FrXZ2Nj4rj6bAxt687H3sssuyx/+8Icceuihb3u/Xr16ZcqUKUmywXfeUaNGZdSoUW1XNLRzwku22EknnZQDDjggDz/8cNavX5+vf/3r6dy5c/7whz+kU6dOuffeezNhwoS8733vy09+8pMsXbo0SXLsscdm8ODBueGGG/Liiy9myZIl6d27d5544om89tpr+b//9//m05/+dPr27Ztrr70269atS3V1dSZNmpT+/fvnsccey0033ZTTTjstN9xwQ+rr67NkyZLU19fnkEMOySGHHJIlS5bk29/+dt7//vfnySefTG1tbQ488MD8+7//e1555ZVMnjw5AwYMyJo1a3LNNdfk//2//5fGxsYcddRR+eAHP5i77rorDz30UNauXZsXX3wxo0ePzuc///lcf/31ee211zJ16tTssssumTx5cpnfBSiOu+66K7fddlvWr1+fQYMGZcKECenUqVMeeeSRzJw5M01NTdlhhx3yzW9+M0ny3HPP5eyzz87SpUtz6KGH5uCDDy7zM4D2afXq1XnPe96TJC2OkUly9dVXl46B119/fR566KFUVlZmn332yRe+8IUWP0Kcc845GTBgQB577LGsWrUqX/7ylzNkyJA0NTXl+uuvz/z587Nu3bp88pOfzMc//vEsW7Ys3/ve97Jq1ao0NTXl+OOPz6BBg3LllVfmmWeeSZKMHTt2s77YAcmyZcvSo0ePdO7cOUlKIxtOOumk7L///vnzn/+c6urqnHzyyenXr1+WLFmSK6+8MsuXL8/222+fSZMmpaamJldccUU6d+6chQsXplevXnniiSdafDYfMmRIOZ8mbBMGDx6c5557Lkly8803584770ySHHTQQRuMLFqyZElmzJiRGTNmZObMmS2+87722mt5+umn88///M95+eWXc9VVV2XJkiVJkuOPPz677bZbLr300jQ0NKSpqSn/8A//kDFjxmzdJwtlJLxks70R1r3h05/+dOkfZo8ePTJjxozcdtttuemmm/LlL385H//4x1v0xvr+97+fQw89NIMHD059fX2mT5+eSy+9NEny/PPP5/zzz091dXXuuuuu0j/uJFm1alXOO++8VFZW5i9/+Ut+/vOf59RTT92gvkWLFuXss8/O6tWrc8opp5R6kdTV1eXrX/96dt5555x++um57777ct555+Whhx7KjTfemG984xu58cYbs/fee2fSpElZuXJlzjjjjAwbNizJ67+KXXTRRamqqsopp5ySgw8+OJ/73Ody6623vqOeqNARPPfcc3nwwQfzrW99K5WVlfnxj3+c2bNnZ++9985VV12V8847L3369MmKFStK91m8eHHOOuusrFy5Ml/72tfyiU98Ip06OSUzbI43js3r1q3LsmXLcvbZZ7/l9suXL8+DDz6Y733ve6moqMjKlSs3ul1TU1MuuOCCPPLII/nVr36VM888M3fccUe6deuWCy64IOvWrcuZZ56ZfffdN//1X/+VfffdN0cccUSampqydu3a0nC47373u0myyccBNrTvvvvmV7/6VU4++eQMGzYsY8aMyV577ZUk6datW7773e/m7rvvzk9/+tOcdtppueaaa3LAAQfkwAMPzB133JFrrrkm3/jGN5IkDQ0N+da3vpVOnToZKQGtrLGxMXPnzs3w4cPzzDPP5M4778z06dOTJGeccUb22muv7LHHHhvcr6qqKkcffXSL77x33XVX6fZrr702e+21V6ZOnZqmpqasWbMmc+fOTc+ePXP66acnef07MnQkwks221sNG//Qhz6UJNlzzz3z4IMPbnSbefPm5fnnny+tr1q1KmvWrEnyejf56urqjd5v1apVueKKK1JXV5fk9YPExowYMSKdO3dO586ds8MOO+SVV15JkvTt27d0PrBddtklw4YNS0VFRXbddde89NJLSZK//OUvefjhh3PTTTclef3LYH19fZJk7733Trdu3ZIkO++8c+rr61NTU7PRGqCjmzdvXp5++ulSb6/XXnstvXv3TnV1dYYOHZo+ffokSbp37166z4gRI1JVVZUddtgh3bt3z6uvvpodd9yxLPVDe/PmY/OTTz6Zyy+/vBQYbky3bt1SXV2dK6+8MiNHjszIkSM3ut3o0aOTvH5cf6Pnx3//93/nueeeywMPPJDk9ePz4sWLU1tbmyuvvDLr16/P6NGjs/vuu6dv375ZsmRJrrnmmowYMSL77LNPaz5t2KZ17do1M2bMyOOPP57HHnssl156aT73uc8lef2c828s//Vf/zVJ8tRTT5V+2P/Yxz6W66+/vtTWfvvt5wdBaGVv7tQzZMiQHHTQQbn99tszevTodO3aNcnrx9HHH398o+Hl23n00Ufzla98Jcnr57Pu1q1bdt111/zsZz/Lddddl5EjR+o5TYcjvKRVvDE5R6dOnTYZLjY3N2f69OkbDSnf6gTHM2fOzNChQzN16tQsWbJkk+fyevMEIW+u440hN0lSUVFRWq+oqEhTU1OptilTpqR///4t2lywYEGL+7/V8wNe35fGjh2bY445psX1m/pRI4l9DFrJwIEDs3z58rz66quprKxMc3Nz6bZ169YlSSorK/Ptb3878+bNywMPPJBbb711o70139gvO3Xq1OJYedxxx2X48OEbbH/uuefmkUceyRVXXJFDDz00BxxwQC6++OLMnTs3t99+e2bPnp1Jkya1xdOGbVKnTp0ydOjQDB06NLvuumupV1ZFRUVpmzdf3pQ3ghSg9bzTuSBaQ//+/TNjxow88sgj+eUvf5lhw4blyCOP3Ko1QDn5GY42s91225V6VibJPvvsk1tvvbW0vnDhwo3er2vXrlm9enVpfdWqVenVq1eSlt3pW9O+++6b//zP/yx90Xv22Wff9j5VVVVbfPJ02Nbss88+uf/++/Pqq68meX2Ian19fQYOHJjHHnus1Nv5zcPGgdbxwgsvpKmpKT169EhNTU2ef/75rFu3LitXrsy8efOSJGvWrMmqVasyYsSIfPGLX8xf//rXzW5/+PDhuf3220vHvkWLFmXNmjV56aWXsuOOO2b8+PEZN25cnn322bz66qtpamrKfvvtl2OOOWazjqvA6xYtWpTFixeX1hcuXFgauTB79uzS8o3ZxwcOHFi6/r777svgwYM32u7ffjYHWs/gwYMzZ86crF27NmvWrMmcOXPesnfk337nfbNhw4bl9ttvT/L6aVxWrVqVhoaGVFdX52Mf+1gOO+yw0jmloaPQ85LN9rfnvBw+fHhpCMvGjBw5MpdccknmzJmTCRMm5LjjjsvVV1+dU089NY2NjRkyZEhOOOGEDe63995753e/+12mTp2aT3/60/nUpz6VK664IjfeeOPbzkD+bh155JH56U9/mlNPPTXNzc3p27dvadjrpowbNy5Tp07NHnvsYcIe+B+77rprjjrqqJx//vlpbm5OZWVlJk6cmAEDBmTixIm56KKLkiQ9e/bMGWecUeZqof3722PzSSedlE6dOqWmpib7779/pkyZkr59+5aGra1evToXXXRR1q1bl+bm5nzhC1/Y7Mc66KCDsmTJkkybNi3J65OITJ06tTQ5UGVlZbp27ZqvfOUraWhoyJVXXlnqtfmP//iPrfisYdv2xkSSK1euTGVlZfr165cTTjghjzzySFasWJFTTz01nTt3zsknn5wkmTBhQn74wx/m97//fWnCno3528/mhp1C69lzzz1z4IEHlj7fHnTQQW85ZPxvv/O+2Re/+MX85Cc/yR133JFOnTpl4sSJWbVqVa677rpUVFSkqqoqxx9/fJs+HyiaiuY3jykCAACgcE466aRccMEFpdnHAaCjMGwcAAAAACgkPS8BAAAAgELS8xIAAAAAKCThJQAAAABQSMJLAAAAAKCQhJcAAAAAQCFVlbsAAAA233333Zebb745L7zwQrbbbrvsvvvuOeKIIzJ48OC3vN9nPvOZXHbZZenXr99WqhQAALac8BIAoJ24+eab89vf/jYTJ07Mvvvum6qqqsydOzdz5sx52/CyXBobG1NZWVnuMgAAaKcqmpubm8tdBAAAb23VqlX50pe+lEmTJmX//fff4PYFCxbktByRWgAABVZJREFU2muvzQsvvJDq6up86EMfyrHHHpuqqqqcffbZefzxx9OlS5ckyYknnpgxY8bk4Ycfzi9/+cu89NJL2XnnnTNx4sTstttuSZJnnnkmP/rRj1JXV5fhw4enoqIi733ve3PMMcckSWbNmpXf/e53WbFiRQYPHpyJEyemV69eSV7v5TlhwoT8x3/8RxobG/OBD3wg1dXV+cIXvlCqd8aMGRk6dGgOPfTQtn7pAABox5zzEgCgHXjyySezbt26jB49eqO3d+rUKccee2yuvvrqfOtb38qjjz6a2267LUly7rnnJkkuvvji/OxnP8uYMWPy7LPP5sorr8wJJ5yQa665JuPHj89FF12UdevWZf369fnOd76TAw88MNdcc00+/OEP58EHHyw91qOPPppf/OIX+drXvpaf/OQn6dOnT77//e+3qGfOnDn59re/nUsvvTQHHnhg/vSnP6WpqSlJ8uqrr2bevHn5yEc+0hYvFQAA2xDhJQBAO7B8+fL06NFjk0Ow99xzzwwcODCVlZXp27dvxo8fn/nz52+yvVmzZmX8+PF5//vfn06dOuXAAw9MVVVVnnrqqTz55JNpbGzM3/3d36Wqqiof+tCHMmDAgNJ977333owdOzZ77rlnOnfunH/8x3/Mk08+mSVLlpS2+fSnP53u3bunuro6AwYMSLdu3fLoo48mSWbPnp2hQ4dmxx13bKVXBwCAbZVzXgIAtAM9evTI8uXLN3kOyUWLFuXf/u3f8vTTT+e1115LY2Nj9txzz022V19fn7vvvju33npr6br169enoaEhFRUV6dWrVyoqKkq39e7du3R52bJl2WOPPUrrXbt2Tffu3dPQ0JC+fftusH2SHHDAAbnnnnuyzz775N57783f/d3fvfMXAQCADkd4CQDQDgwcODCdO3fOnDlzst9++21w+7/8y79k9913z8knn5ztttsut9xySx544IFNtte7d+8cccQROeKIIza4bf78+WloaEhzc3MpwFy6dGlppvKePXumvr6+tP2aNWuyYsWK0jkvk7QIPpPkox/9aKZMmZKFCxfm+eef3+TwdwAAeDPDxgEA2oFu3brlM5/5TK6++uo8+OCDWbt2bdavX58///nPue6667J69ep069YtXbt2zQsvvJDbb7+9xf132GGHvPjii6X1cePG5Q9/+EOeeuqpNDc3Z82aNXnkkUeyevXqDBw4MJ06dcqtt96axsbGzJkzJwsWLCjd98Mf/nDuvPPOLFy4MOvWrcsvfvGLDBgwoNTrcmN69+6d2traXH755fnQhz6U6urq1n+RAADY5phtHACgHbn33ntzyy235IUXXkjXrl2z55575ogjjkhjY2N+8pOfZOnSpdljjz0ydOjQPProozn//POTJLfffnt+9atf5bXXXssJJ5yQMWPGZO7cuZk5c2YWL16c6urqDB48OCeeeGK22267PP3006XZxj/wgQ+kqakpu+++e4488shSezfddFNWrFiRQYMGZeLEiaWh4p/5zGdy2WWXlXpqvuGee+7J5ZdfnrPOOit777331n3hAABol4SXAAC8rTPOOCMf//jHM3bs2Hfdxvz58/ODH/wgP/zhDzcYVg4AABtj2DgAABuYP39+Xn755TQ2Nuauu+7KX//61wwfPvxdt7d+/fr8x3/8R8aNGye4BABgs5mwBwCADSxatCiXXnpp1qxZk5122ilTpkxJz54931Vbzz//fE4//fTstttuOeSQQ1q5UgAAtmWGjQMAAAAAhWTYOAAAAABQSMJLAAAAAKCQhJcAAAAAQCEJLwEAAACAQhJeAgAAAACF9P8DLaIfW283Fc4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1332.11x720 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "result = pd.melt(train_result.assign(Data='Train')\n",
    "                 .append(test_eval.assign(Data='Test'))\n",
    "                 .reset_index(),\n",
    "                 id_vars=['Data', 'Category'],\n",
    "                 var_name='Topic',\n",
    "                 value_name='Weight')\n",
    "\n",
    "g =sns.catplot(x='Category', y='Weight', hue='Topic', row='Data', kind='bar', data=result, aspect=3.5)\n",
    "g.savefig('lsa_train_test', dpi=300)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Categories in 2D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 212,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:29:49.566354Z",
     "start_time": "2018-11-30T16:29:49.557577Z"
    }
   },
   "outputs": [],
   "source": [
    "pca = PCA(n_components=2)\n",
    "svd2d = pd.DataFrame(pca.fit_transform(train_result), columns=['PC1', 'PC2']).assign(Category=train_docs.Category)\n",
    "categories_2d = svd2d.groupby('Category').mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 224,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-11-30T16:34:50.040616Z",
     "start_time": "2018-11-30T16:34:49.839245Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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zdUCsAeBCAAAwEENGjTQxIkTtXnzZr3zzjtq37693WM3b96ssWPH6vbbb9ecOXN0/vx5N1YK4GoIRAAAAE4KDAzUoEGDtHr1an344Yfq37+//Pzs++fVgQMH9Pe//12dOnXSSy+9pKNHj7q5WgCVIRABAAC4yGKxqFOnTkpKStKGDRs0btw4hYaG2jX23Llzevfdd9W1a1dNmDBB3377rZurBXA5AhEAAEA1at68uV588UVt27ZNzz//vJo1a2bXuNLSUn388ce69957NXDgQH388ccqKSlxc7UACEQAAABuEBYWpvHjx+ubb75RYmKioqOj7R773//+VxMmTFD37t317rvv6ty5c26sFDA3AhEAAIAbBQQEaMCAAVq1apVWr16t++67T/7+/naNPXLkiF566SVFR0fr73//uw4cOODeYgETIhABAADUkA4dOuhf//qXNm3apD/+8Y+qV6+eXeMuXLigOXPmqEePHho7dqy2bNkim83m5moBcyAQAQAA1LCmTZvqb3/7mzIyMjR16lS1aNHCrnE2m02ffvqphgwZov79+2vlypUqKipyb7GAjyMQAQAAeEidOnUUGxurr7/+WnPnzlXXrl3tHvv9999r0qRJ6tq1q2bNmqXc3Fw3Vgr4LovNhfnW8+fPa8aMGTp58qQaNmyoyZMnV7rEZHp6ulauXClJGjJkiHr37q2LFy/qzTffVFZWlvz8/NSxY0eNHDnS7s8+duyYs2WjhkRGRurUqVOeLgMGQ9/AGfQNnOGtfbNz504lJSVp1apVKi4utntcUFCQhg8frrFjx6pNmzZurNDcvLVvUFGTJk3sOs6lGaIPP/xQt9xyi95++23dcsst+vDDDyscc/78ea1YsUKvvPKKXnnlFa1YsaJsR+aBAwfqrbfe0j//+U/98ssv+u6771wpBwAAwPDatWunmTNnasuWLXriiSfUoEEDu8YVFhZqwYIF6tWrl0aNGqWvv/6a+4wAO7gUiDIyMtSrVy9JUq9evZSRkVHhmO3bt+vWW29VaGioQkNDdeutt2r79u2qXbu22rVrJ+l/q6+0bNlSp0+fdqUcAAAAn9G4cWM99dRTysjI0PTp03X99dfbPfbLL7/UiBEjdMcdd2jZsmW6ePGiGysFjC3AlcFnz54t+61F/fr1dfbs2QrH5OTkKCIiouxxeHi4cnJyyh1z4cIFffvtt+rfv3+Vn5WWlqa0tDRJ0rRp0xQZGelK6agBAQEB/D3BYfQNnEHfwBlG6pv4+Hg98cQT+uKLLzRz5kx9+eWXdo376aef9OSTT2ratGmaMGGC4uLi1KhRIzdX69uM1Dewz1UD0UsvvaQzZ85UeH7EiBHlHlssFlksFocLKC0t1cyZM3X33XercePGVR4XExOjmJiYssdcu+n9uMYWzqBv4Az6Bs4wYt907NhRCxYs0M8//6zk5GStXLnSrtmf7Oxs/eMf/9D06dM1ZMgQjRs3TjfccEMNVOx7jNg3ZmXvPURXDUTPPfdcla/Vq1dPubm5atCggXJzc1W3bt0Kx4SHh2vXrl1lj3NycnTTTTeVPf73v/+tqKgoDRgwwK6CAQAAzO6GG27Q66+/rr/+9a9KTU3VvHnz7PpH+sWLF7VkyRItWbJEt99+u+Li4tS7d2/5+bHwMMzLpe6Pjo7WunXrJEnr1q1Tp06dKhzTvn177dixQ+fPn9f58+e1Y8cOtW/fXpK0dOlS5efnKzY21pUyAAAATCkyMlKTJ0/W1q1b9eabb+rGG2+0e+z69ev1yCOPqG/fvlq4cKEKCgrcWCngvVxadjsvL08zZszQqVOnyi27vXfvXn3xxReaMGGCJGnt2rX64IMPJP1v2e0+ffro9OnTeuyxx9S0aVMFBPxvouquu+5Sv3797Ppslt32fkwpwxn0DZxB38AZvtg3NptN33zzjZKSkuy+z+iSBg0a6JFHHlFsbOwVb2MwO1/sG19l7yVzLgUiTyIQeT9OGHAGfQNn0Ddwhq/3TWZmpubMmaPly5ersLDQ7nGBgYG69957NX78+LIVgfF/fL1vfEmN7EMEAAAA79SmTRu9+uqrysjI0F//+ldFRUXZNa64uFjvv/++7rzzTg0dOlSff/65rFarm6sFPIdABAAA4MPCw8M1adIkbdq0SbNmzdKtt95q99hNmzZp9OjR6tmzp+bOnasLFy64sVLAMwhEAAAAJlCrVi0NGTJEa9as0cqVK3X33XfbvWXKgQMH9Oyzz6pTp056+eWXdfToUTdXC9QcAhEAAICJWCwW3XbbbUpOTtaGDRs0duxY1alTx66xZ8+e1ezZs9W1a1f98Y9/1HfffefmagH3IxABAACY1HXXXad//OMf2rZtm5577jk1bdrUrnGlpaVatWqV7rnnHt13331avXq1SkpK3Fwt4B4EIgAAAJOrW7euJkyYoI0bN+rdd99Vx44d7R67bds2/eEPf1CPHj2UmJiovLw8N1YKVD8CEQAAACRJAQEBGjhwoD766CN99NFHGjhwoPz9/e0ae/jwYb344ouKjo7W888/r0OHDrm5WqB6EIgAAABQQceOHfXuu+9q06ZNmjBhgurWrWvXuPPnzys5OVndu3dXXFyctm7dKoNuewmTIBABAACgSk2bNtVzzz2njIwMvfTSS2rRooVd46xWq9asWaPBgwdrwIAB+vDDD1VcXOzeYgEnEIgAAABwVaGhoRozZozWr1+vlJQUdenSxe6xO3bs0MSJE9W1a1e98847OnPmjBsrBRxDIAIAAIDd/P39deedd+r999/Xp59+qiFDhiggIMCuscePH9crr7yi6OhoPfPMM9q7d6+bqwWujkAEAAAAp9xyyy2aNWuWtmzZokmTJql+/fp2jSsoKND8+fPVq1cvxcbGasOGDdxnBI8hEAEAAMAlUVFR+utf/6pt27bp1VdfVevWre0aZ7PZ9MUXX2j48OG68847tXz5cl28eNHN1QLlEYgAAABQLYKDgzVq1Cilp6drwYIF6tmzp91jf/zxR02ePFldunTRjBkzdPr0aTdWCvwfAhEAAACqlZ+fn/r166elS5fqiy++0AMPPKBatWrZNTY7O1uvv/66OnfurL/85S/avXu3m6uF2RGIAAAA4DY33XST3nzzTW3dulVPPvmkIiIi7BpXWFioRYsWqU+fPho5cqTS09O5zwhuQSACAACA2zVs2FB//vOftXXrVr3xxhu64YYb7B6bnp6ukSNHqm/fvlq8eLEKCgrcWCnMhkAEAACAGhMUFKQRI0YoLS1NS5YsUd++fe0eu3v3bk2ZMkWdO3fWa6+9puzsbDdWCrMgEAEAAKDGWSwW3X777UpNTVV6eroefvhhBQUF2TU2JydHb731lm677TbFx8frxx9/dHO18GUEIgAAAHjU9ddfr+nTpysjI0NPPfWUGjdubNe4oqIivffee/r973+vYcOG6fPPP5fVanVztfA1BCIAAAB4hfDwcD3xxBPavHmzZs6cqXbt2tk9duPGjRo9erR69eqlefPmKT8/342VwpcQiAAAAOBVatWqpaFDh+rTTz/VihUrdOedd8pisdg1dt++ffrb3/6mTp066ZVXXtGxY8fc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\n",
      "text/plain": [
       "<Figure size 1008x626.4 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.quiver(*([0], [0]), categories_2d.PC1, categories_2d.PC2, scale=.03);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Strenghts & Weaknesses"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The benefits of LSI include the removal of noise and mitigation of the curse of dimensionality, while also capturing some semantics and performing a clustering of both documents and terms.\n",
    "\n",
    "However, the results of LSI are difficult to interpret because topics are word vectors with both positive and negative entries. In addition, there is no underlying model that would permit the evaluation of fit and provide guidance when selecting the number of dimensions or topics."
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Slideshow",
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  },
  "name": "_merged",
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "131.151px",
    "left": "1219px",
    "right": "1064px",
    "top": "29px",
    "width": "165px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
